// pages/personal/personal.js
const app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    disabled: false,  //是否登录，true登录就禁用登录按钮。
    userInfo: null,   //用户信息
  },

  //登录方法
  doLogin(e) {
    var that = this;
    //获取授权
    if (e.detail.userInfo) {
      wx.showLoading({
        title: '请等候'
      })
      wx.login({
        fail: res => {
          wx.hideLoading({
            title: '与网络断开连接'
          })
        },
        success: res => {
          //获取临时登录凭证
          var code = res.code;
          if (code) {
            //获取用户信息接口,此操作需要用户授权
            wx.getUserInfo({
              fail: res => {
                wx.hideLoading({
                  title: '与网络断开连接'
                })
              },
              success: e => {
                // 向服务器请求获取解密数据
                wx.request({
                  url: app.serverUrl + "/user/decodeUser",
                  method: "POST",
                  header: {
                    "content-type": "application/x-www-form-urlencoded;charset=utf-8"
                  },
                  data: {
                    encryptedData: e.encryptedData,
                    iv: e.iv,
                    code
                  },
                  fail: res => {
                    wx.hideLoading({
                      title: '与网络断开连接'
                    })
                  },
                  success: e => {
                    if (e.data.status === 200) {
                      wx.hideLoading(); //隐藏 loading 提示框
                      //获取后台的用户信息
                      this.setData({
                        userInfo: e.data.data,
                        disabled: true
                      })
                      //保存用户信息到storage
                      app.setGlobalUserInfo(e.data.data)
                    } else if (e.data.status === 500) {
                      wx.hideLoading()
                      wx.showToast({
                        title: '登录失败',
                        icon: 'none',
                        duration: 1000
                      })
                    }
                  }
                })
              }
            })
          }
        }
      })
    } else {  
      wx.showToast({
        title: '未授权',
        icon: 'none',
        duration: 1000
      })
    }
  },

  //判断用户是否登录
  isLog: function(){
    //获取Storage中的user
    let userInfo = app.getGlobalUserInfo();
    if (userInfo) { //用户已登录
      this.setData({
        userInfo,
        disabled: true
      })
    } else {  //用户未登录
      const userInfo = {
        loginUser: '点击登录',
        headImage: 'https://yanxuan.nosdn.127.net/8945ae63d940cc42406c3f67019c5cb6.png'
      }
      this.setData({
        disabled: false,
        userInfo
      })
    }
  },

  //跳转个人信息
  goInfo(e) {
    if(!this.data.disabled){
      wx.showToast({
        title: '你还未登录',
        icon: 'none'
      })
      return;
    }
    wx.navigateTo({
      url: '/pages/userInfo/userInfo'
    })
  },

  //跳转我的订单
  goOrder() {
    if (!this.data.disabled) {
      wx.showToast({
        title: '你还未登录',
        icon: 'none'
      })
      return;
    }
    wx.navigateTo({
      url: '../order/order'
    })
  },

  //编辑收货地址
  goAddress() {
    if (!this.data.disabled) {
      wx.showToast({
        title: '你还未登录',
        icon: 'none'
      })
      return;
    }
    wx.chooseAddress({
      // success: res => {
      //   console.log(res);
      // }
        success: function (res) {
          console.log(JSON.stringify(res))
        },
        fail: function(err){
          console.log(JSON.stringify(err))
        }
    })
  },

  //退出登录
  logoutUser(){
    var that = this;
    wx.showModal({
      title: '提示',
      content: '确定退出当前账号?',
      success(res) {
        if (res.confirm) {
          app.delGlobalUserInfo();
          that.isLog();
        } else if (res.cancel) {}
      }
    })
  },



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.isLog();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})